import axios from "axios"
// 引入nprogress插件
import NProgress from "nprogress"
// 这个nprogress样式必须引入
import 'nprogress/nprogress.css'

//创建一个实例
let request = axios.create({
    baseURL: '/api',
    timeout: 5000,
});

// 添加请求拦截器
request.interceptors.request.use(
    (config) => {
        // 在发送请求之前做些什么
        NProgress.start();
        return config;
    }, (error) => {
        // 对请求错误做些什么
        console.log("request[请求错误]", error)

    })

request.interceptors.response.use(
    (response) => {
        // 2xx 范围内的状态码都会触发该函数。
        NProgress.done();
        return response.data;
    }, (error) => {
        //  超出 2xx 范围的状态码都会触发该函数。
        console.log("request[请求错误]", error)
    }
)
//最终需要对外暴露（不对外暴露外面模块没办法使用）
//这里的代码是暴露一个axios实例
export default request;